/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package imc;

/**
 *
 * @author jakson
 */
public class MetodoImcInfantil {

    private double imc = 0;
    private String condicao = null;

    public MetodoImcInfantil() {
    }

    public void fazerCalculo(double peso, double altura) {
        if (peso <= 0 || Double.isNaN(peso) || peso == ' ') {
            throw new RuntimeException("Falha: O peso deve ser um número maior que zero");
        } else if (altura <= 0 || altura > 3 || Double.isNaN(altura)) {
            throw new RuntimeException("Falha: A altura deve ser um número maior que zero e menor que 3m");
        } else {
            this.imc = peso / (altura * altura);
        }
    }

    public void classificar(int idade, char sexo) {
        if (idade < 6 || idade > 15) {
            throw new RuntimeException("Falha: A idade mínima é de 6 anos e a maxima de 15");
        } else if (sexo != 'M' && sexo != 'F') {
            throw new RuntimeException("Falha: É necessário informar o sexo (M, F)");

        } else {
            if (sexo == 'M') {
                if (idade == 6) {
                    if (this.imc >= 14.5 && this.imc <= 16.6) {
                        this.condicao = "Normal";
                    } else if (this.imc > 16.6 && this.imc <= 18.0) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 18.0) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 7) {
                    if (this.imc >= 15 && this.imc <= 17.3) {
                        this.condicao = "Normal";
                    } else if (this.imc > 17.3 && this.imc <= 19.1) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 19.1) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 8) {
                    if (this.imc >= 15.6 && this.imc <= 16.7) {
                        this.condicao = "Normal";
                    } else if (this.imc > 16.7 && this.imc <= 20.3) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 20.3) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 9) {
                    if (this.imc >= 16.1 && this.imc <= 18.8) {
                        this.condicao = "Normal";
                    } else if (this.imc > 18.8 && this.imc <= 21.4) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 21.4) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 10) {
                    if (this.imc >= 16.7 && this.imc <= 19.6) {
                        this.condicao = "Normal";
                    } else if (this.imc > 19.6 && this.imc <= 22.5) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 22.5) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 11) {
                    if (this.imc >= 17.2 && this.imc <= 20.3) {
                        this.condicao = "Normal";
                    } else if (this.imc > 20.3 && this.imc <= 23.7) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 23.7) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 12) {
                    if (this.imc >= 17.8 && this.imc <= 21.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 21.1 && this.imc <= 24.8) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 24.8) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 13) {
                    if (this.imc >= 18.5 && this.imc <= 21.9) {
                        this.condicao = "Normal";
                    } else if (this.imc > 21.9 && this.imc <= 25.9) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 25.9) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 14) {
                    if (this.imc >= 19.2 && this.imc <= 22.7) {
                        this.condicao = "Normal";
                    } else if (this.imc > 22.7 && this.imc <= 26.9) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 26.9) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 15) {
                    if (this.imc >= 19.9 && this.imc <= 23.6) {
                        this.condicao = "Normal";
                    } else if (this.imc > 23.6 && this.imc <= 27.7) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 27.7) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
            } else {
                if (idade == 6) {
                    if (this.imc >= 14.3 && this.imc <= 16.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 16.1 && this.imc <= 17.4) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 17.4) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 7) {
                    if (this.imc >= 14.9 && this.imc <= 17.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 17.1 && this.imc <= 18.9) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 18.9) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 8) {
                    if (this.imc >= 15.6 && this.imc <= 18.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 18.1 && this.imc <= 20.3) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 20.3) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }

                if (idade == 9) {
                    if (this.imc >= 16.3 && this.imc <= 19.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 19.1 && this.imc <= 21.7) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 21.7) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 10) {
                    if (this.imc >= 17 && this.imc <= 20.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 20.1 && this.imc <= 23.2) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 23.2) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 11) {
                    if (this.imc >= 17.6 && this.imc <= 21.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 21.1 && this.imc <= 24.5) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 24.5) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 12) {
                    if (this.imc >= 18.3 && this.imc <= 22.1) {
                        this.condicao = "Normal";
                    } else if (this.imc > 22.1 && this.imc <= 25.9) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 25.9) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 13) {
                    if (this.imc >= 18.9 && this.imc <= 23) {
                        this.condicao = "Normal";
                    } else if (this.imc > 23 && this.imc <= 27.7) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 27.7) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 14) {
                    if (this.imc >= 19.3 && this.imc <= 23.8) {
                        this.condicao = "Normal";
                    } else if (this.imc > 23.8 && this.imc <= 27.9) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 27.9) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
                if (idade == 15) {
                    if (this.imc >= 19.6 && this.imc <= 24.2) {
                        this.condicao = "Normal";
                    } else if (this.imc > 24.2 && this.imc <= 28.8) {
                        this.condicao = "SobrePeso";
                    } else if (this.imc > 28.8) {
                        this.condicao = "Obesidade";
                    } else {
                        this.condicao = "Abaixo do Peso";
                    }
                }
            }
        }
    }

    public String getCondicao() {
        return condicao;
    }

    public double getImc() {
        return imc;
    }

}
